From 0aabd10525326edfe5098c2ec5bfe05db7732c32 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 25 Nov 2014 10:05:29 +0100 Subject: [PATCH] x86/cpuidle: don't count C1 multiple times Commit 4ca6f9f0 ("x86/cpuidle: publish new states only after fully initializing them") resulted in the state counter to be incremented for C1 despite that using a fixed table entry (and the statically initialized counter value already accounting for it and C0). Signed-off-by: Jan Beulich Reviewed-by: Konrad Rzeszutek Wilk Release-Acked-by: Konrad Rzeszutek Wilk --- xen/arch/x86/acpi/cpu_idle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c index f72719c170..2b2bcc6361 100644 --- a/xen/arch/x86/acpi/cpu_idle.c +++ b/xen/arch/x86/acpi/cpu_idle.c @@ -1000,7 +1000,7 @@ static void set_cx( cx->target_residency = cx->latency * latency_factor; smp_wmb(); - acpi_power->count++; + acpi_power->count += (cx->type != ACPI_STATE_C1); if ( cx->type == ACPI_STATE_C1 || cx->type == ACPI_STATE_C2 ) acpi_power->safe_state = cx; } -- 2.30.2